package com.sunsharing.flow.eventman;

import com.sunsharing.flow.event.ApplicationEvent;

/**
 * Created with IntelliJ IDEA.
 * User: criss
 * Date: 13-5-4
 * Time: 下午8:13
 * To change this template use File | Settings | File Templates.
 */
public interface EventMulticaster {


    /**
     * 功能描述:
     *    增加监听器
     * @param
     * @param
     */
    void addApplicationListener(Object obj,ApplicationListener listener);


    /**
     * 功能描述:
     *    移除监听器
     * @param
     * @param
     */
    void removeApplicationListener(Object obj,ApplicationListener listenerDesc);


    /**
     * 功能描述:
     *    移除所有的监听器
     */
    void removeAllListeners();


    /**
     * 功能描述:
     *    发布事件
     * @param event ApplicationEvent
     */
    void multicastEvent(ApplicationEvent event);

}

